#pragma once

template <class T> //Add不会被编译，生成指令，因为模板没有实例化，
//当然也就没有Add（）的传承，没有Add的地址放进符号表，使用链接也没有找到
T Add(const T& left, const T& right) 
{
	cout << "T Add(const T & left, const -T & right)" << endl;

	return left + right;
}

//显示实例化
template
int Add(const int& left, const int& right);

template
double Add(const double& left, const double& right);

//最佳解决方案：不要分离到两个文件，写到一个文件
//解决的原理：调用的地方，就有定义，就直接实例化


void func() //func会被编译，生成指令，函数地址放到符号表中
{
	cout << "void func()" << endl;
}


